<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>PHP Function Reference</title>
</head>
<body>

<div class="phpfr-content">
	<h1>
		PHP Function Reference
	</h1>
	
	<ul class="phpfr-nav">
		<li><span class="link" id="link-welcome"         onclick="PHPFR.ui.showTab('welcome');">Welcome</span></li>
		<li><span class="link" id="link-overview"        onclick="PHPFR.ui.showTab('overview');">Overview</span></li>
		<li><span class="link" id="link-version-history" onclick="PHPFR.ui.showTab('version-history');">Version History</span></li>
		<li><span class="link" id="link-acknowledgments" onclick="PHPFR.ui.showTab('acknowledgments');">Acknowledgments</span></li>
		<li><span class="link" id="link-license"         onclick="PHPFR.ui.showTab('license');">License</span></li>
	</ul>
	
	<hr>
	
	<!-- BEGIN: WELCOME -->
	<div class="phpfr-section" id="welcome">
		<h2>Welcome to PHPfr!</h2>
		<p>PHP Function Reference (PHPfr) lets you quickly look up function definitions using a downloaded copy of the documentation from <span class="link" onclick="PHPFR.ui.followLink('http://www.php.net/');">PHP.net</span>. PHPfr also includes an extensive <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#regular-expressions');">cheat sheet</span> of common PHP syntax as well as an interactive <span class="link" onclick="PHPFR.ui.followLink('phpfr-dates.html#day');">date formatter</span>.</p>
		<p><strong>If you are new to PHPfr,</strong> I encourage you to <span class="link" onclick="PHPFR.ui.showTab('overview');">read the overview</span> section to get familiar with the widget&#8217;s features.</p>
		<p>PHPfr is free software, but <span class="link" onclick="PHPFR.util.gotoPayPal();">donations</span> are welcome. Please file bug reports at the project home on <span class="link" onclick="PHPFR.ui.followLink('http://code.google.com/p/phpfr/');">Google Code</span>.</p>
		<p style="margin-bottom: 0;">
			I hope you enjoy PHPfr as much as I&#8217;ve enjoyed building it!<br>
			<em>&#8211;<span class="link" onclick="PHPFR.ui.followLink('http://andrew.hedges.name/');">Andrew Hedges</span>, developer of PHPfr</em>
		</p>
	</div>
	<!-- END: WELCOME -->
	
	<!-- BEGIN: OVERVIEW -->
	<div class="phpfr-section" id="overview">
		<h2>Overview</h2>
		<p>PHPfr has dozens of features to help you, the busy PHP developer, find the information you need <em>fast.</em></p>
		<!-- fast function lookup -->
		<h3>Fast Function Lookup</h3>
		<p>PHPfr&#8217;s reason for being is to help you, the busy PHP developer, lookup function definitions <em>fast.</em></p>
		<p>Click on a function name to see its definition in the righthand frame. Double click a function to visit its page on <span class="link" onclick="PHPFR.ui.followLink('http://www.php.net/');">PHP.net</span>.</p>
		<h4>Live filtering</h4>
		<p>Type a few letters from any part of a function name to narrow the list of functions to ones that match. You can even use regular expressions!</p>
		<p>For example, entering <code>[0-9]$</code> will match only functions ending in a number. Learn the basics of regular expressions in the <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#regular-expressions');">cheat sheet</span>.</p>
		<h4>Group by Topic</h4>
		<p>A new feature of PHPfr 1.0 is the topic select list. Choose a topic from the drop-down list at the top of the function list and only functions related to that topic (e.g., Arrays) will display in the list.</p>
		<h4>Don&#8217;t lose your place</h4>
		<p>If you need to temporarily reclaim space on your Dashboard, you can close the page drawer using the <img src="Assets/imgs/famfamfam/application_side_contract.png" align="absmiddle" alt="close drawer"> icon. Click it again to open the drawer.</p>
		<h4>Favorites</h4>
		<p>PHPfr allows you to save your favorite (or least favorite?) functions for quick reference. Just click the <img src="Assets/imgs/famfamfam/heart_add.png" align="absmiddle" alt="Add to favorites"> icon at the top of the window on any function page to add it to your favorites list. Click the <img src="Assets/imgs/famfamfam/heart.png" align="absmiddle" alt="Show favorites"> icon at the bottom of the function list to view your favorites list.</p>
		<!-- history -->
		<h3>History</h3>
		<p>PHPfr tracks your path through its pages, allowing you to quickly go back to a previous screen. The <img src="Assets/imgs/button-back-enabled.png" align="absmiddle" alt=""> and <img src="Assets/imgs/button-forward-enabled.png" align="absmiddle" alt=""> buttons let you go back and forward, respectively, through your history.</p>
		<!-- resizable interface -->
		<h3>Resizable Interface</h3>
		<p>New in version 1.0 is the ability to resize the PHPfr interface to best fit your monitor. Use the presets in the <code>--Select a Size--</code> drop-down (at the bottom right of the widget) or just drag the resize handle to the desired size. PHPfr will scale from 450x290 up to 1200x900 pixels.</p>
		<p>Additionally (and also new in version 1.0), you can toggle between 2 font sizes, normal and slightly bigger. Click the <img src="Assets/imgs/button-fontsmall.png" align="absmiddle" alt="font size toggle"> button at the bottom of the widget to toggle between the 2 sizes.</p>
		<!-- cheat sheet -->
		<h3>Cheat Sheet</h3>
		<p>It&#8217;s not cheating if the test is open book, right? PHPfr&#8217;s &#8220;cheat sheet&#8221; gives you quick access to information about some common PHP knowledge you shouldn&#8217;t have to store in your head. The <img src="Assets/imgs/famfamfam/key.png" align="absmiddle" alt="cheat sheet"> icon is the <em>key</em> to your success&#8230;</p>
		<h4>Regular expressions</h4>
		<p><span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#regular-expressions');">The regular expressions section</span> of the cheat sheet includes examples of simple regular expressions, basic syntax, information about the PCRE (Perl-Compatible Regular Expressions) modifiers and a list of PREG constants and their meanings.</p>
		<h4>$_SERVER</h4>
		<p>Quick, what <code>$_SERVER</code> array key returns the IP address of the server under which the current script is executing? If you answered <code>SERVER_ADDR</code> you may not need this feature! For the rest of us, a list of array keys and their meanings are waiting in <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#server');">the $_SERVER section</span>.</p>
		<h4>Constants</h4>
		<p>PHP creates a number of &#8220;magic&#8221; constants you can access anywhere in your scripts. <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#constants');">The constants section</span> lists many of the most common ones.</p>
		<h4>fopen() modes</h4>
		<p>Is it <code>r+</code> or <code>w+</code> that opens a file for writing and truncates the file to zero length? No need to guess, just click through to <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#fopen-modes');">the fopen() modes section</span> for the answer.</p>
		<h4>Comparisons</h4>
		<p>Did you know that if you compare an array to anything else, the array will always be considered greater? <span class="link" onclick="PHPFR.ui.followLink('phpfr-cheats.html#comparisons');">The comparisons section</span> offers a list of comparison operators, comparisons with different typs of operands (like the above example), comparisons using PHP functions such as <code>is_null()</code>, and logic tables for both loose and strict comparisons.</p>
		<!-- date formatter -->
		<h3>Interactive Date Formatter</h3>
		<p>If you&#8217;re like me, you don&#8217;t want to have to remember that the date format string for &#8220;Tuesday, April 1st&#8221; is <code>l, F jS</code>. Luckily, you don&#8217;t have to because PHPfr has a nifty, interactive <span class="link" onclick="PHPFR.ui.followLink('phpfr-dates.html#day');">date formatter</span> feature.</p>
		<p><em>Note: If you get unexpected results using the date constants, PHPfr is likely using a pre-5.1 version of the PHP binary.</em></p>
		<!-- phpinfo -->
		<h3>Output of phpinfo()</h3>
		<p>It ain&#8217;t pretty, but you can see a plain text dump of the output of the <span class="link" onclick="PHPFR.functions.show('phpinfo');">phpinfo()</span> function by clicking the <img src="Assets/imgs/famfamfam/information.png" align="absmiddle" alt="phpinfo()"> icon.</p>
		<!-- offline docs -->
		<h3>Offline Documentation</h3>
		<p>PHPfr uses a downloaded copy of <span class="link" onclick="PHPFR.ui.followLink('http://www.php.net/');">PHP.net</span>&#8217;s online documentation to enable faster access than is possible over a network connection. Also, by using downloaded documentation, you can access it when you are not online.</p>
		<!-- docs in your language -->
		<h3>Documentation in Your Language</h3>
		<p>PHPfr ships with English language documentation installed by default. Other translations of the docs are just a click away! <span class="link" onclick="PHPFR.ui.showBack();">Flip the widget over</span> and click on the language of your choice to download (3.3MB) and install it.</p>
		<p>Additionally, most of the PHPfr interface is localized as well. Currently, English, German and Romanian are included, but more languages should be coming soon.</p>
		<!-- choose your binary -->
		<h3>Pick Your Binary</h3>
		<p>If you have more than one version of PHP installed, PHPfr gives you the ability to designate which binary to use when generating its output. This can make a difference on some systems (ahem, <em>Tiger</em>) that ship with version 4 of PHP installed by default. Just <span class="link" onclick="PHPFR.ui.showBack();">flip the widget over</span> and click the <img src="Assets/imgs/famfamfam/lock.png" align="absmiddle" alt="lock"> icon and enter the full path to the binary (e.g., /usr/bin/php).</p>
	</div>
	<!-- END: OVERVIEW -->
	
	<!-- BEGIN: ACKNOWLEDGMENTS -->
	<div class="phpfr-section" id="acknowledgments">
		<h2>Acknowledgments</h2>
		<p>There are many people who have helped make PHP Function Reference possible. I want to list some of them here to publicly thank them for their contributions.</p>
		<ul>
			<li>My wife, <strong>Stephanie,</strong> for putting up with all of my late nights in front of the computer.</li>
			<li><strong>Kelly Patrick Robinson</strong> and <strong>Barbara Napholtz,</strong> core members of the PHPfr project</li>
			<li><span class="link" onclick="PHPFR.ui.followLink('http://blog.tice.de/');"><strong>Tice Klussmeier</strong></span> and <strong>Sebi Tauciuc</strong> for translating the PHPfr interface into their native tongues.</li>
			<li>Everyone who has written me over the last 2 years with suggestions and/or bug reports. You have helped shape and improve PHPfr! I especially want to recognize <span class="link" onclick="PHPFR.ui.followLink('http://www.macpire.com/');">Macpire</span> for thorough bug reports and my friend and colleague <strong>Morgan Pyne</strong> who personally suggested the following features (without which, PHPfr would be a whole lot less useful!): topics select list, setting the path to the PHP binary, and showing the output of <span class="link" onclick="PHPFR.functions.show('phpinfo');">phpinfo()</span>.</li>
		</ul>
		<p>Thaks, everyone, for your help and support!</p>
		<h2>Inspiration for PHPfr</h2>
		<p>PHPfr is inspired by the venerable shareware app, <span class="link" onclick="PHPFR.ui.followLink('http://www.artissoftware.com/phpfi/');">PHP Function Index</span>, written by Wolfgang Ante of ARTIS Software. I paid for my copy of PHPfi long ago, but thought it would be even more convenient to have similar functionality in widget form.</p>
	</div>
	<!-- END: ACKNOWLEDGMENTS -->
	
	<!-- BEGIN: VERSION HISTORY -->
	<div class="phpfr-section" id="version-history">
		<h2>Version History</h2>
		<dl>
			<dt>1.0 &#8211; April 6, 2008</dt>
				<dd>Resizable widget interface</dd>
				<dd>Adjustable font size</dd>
				<dd>User can now set the path to the PHP binary</dd>
				<dd>Select functions by topic (e.g., Arrays, Strings, MySQL, etc.)</dd>
				<dd>1-click installation of new documentation languages</dd>
				<dd>Localized in English, French, Spanish, German, Italian, and Romanian</dd>
			<dt>0.9.6.2b &#8211; February 24, 2007</dt>
				<dd>Updated default (English) documentation to the most recent version on PHP.net (20 Feb, 2007).</dd>
			<dt>0.9.6.1b &#8211; July 2, 2006</dt>
				<dd>Fixed a minor bug that would prevent the widget from loading for the first-time user (because the language preference was not set).</dd>
			<dt>0.9.6b &#8211; June 29, 2006</dt>
				<dd>Mac OS X 10.4.7 changed the behavior of widget.system calls. Synchronous calls now break widgets, whereas before they were tolerated (though discouraged). In this version, I fixed my widget.system calls to be asynchronous.</dd>
			<dt>0.9.5b &#8211; March 23, 2006</dt>
				<dd>Added integrated version checking.</dd>
			<dt>0.9.4b &#8211; March 20, 2006</dt>
				<dd>With help from the <span class="link" onclick="PHPFR.ui.followLink('http://lists.apple.com/archives/dashboard-dev/2006/Mar/msg00023.html');">dashboard-dev</span> mailing list, I got the Chinese Cantonese, Chinese Traditional, and Romanian versions of the documentation working.</dd>
			<dt>0.9.3b &#8211; March 20, 2006</dt>
				<dd><span class="link" onclick="PHPFR.ui.followLink('http://lists.apple.com/archives/dashboard-dev/2006/Mar/msg00018.html');">Dashboard expects all input to be UTF-8.</span> Some versions of the PHP documentation (Chinese Cantonese, Chinese Traditional, and Romanian) are encoded in other charsets. The fact these languages will not work is now documented in the FAQ.</dd>
				<dd>Fixed language installation instructions in the FAQ.</dd>
			<dt>0.9.2b &#8211; March 19, 2006</dt>
				<dd>Actually fixed bug where English was not set as default language on first run.</dd>
			<dt>0.9.1b &#8211; March 18, 2006</dt>
				<dd>Fixed bug where English was not set as default language on first run.</dd>
			<dt>0.9b &#8211; March 17, 2006</dt>
				<dd>Initial preview release</dd>
		</dl>
	</div>
	<!-- END: VERSION HISTORY -->
	
	<!-- BEGIN: LICENSE -->
	<div class="phpfr-section" id="license">
		<h2>License &amp; Terms of Use</h2>
		<p>PHPfr is released under the <span class="link" onclick="PHPFR.ui.followLink('http://www.opensource.org/licenses/bsd-license.php');">New BSD License</span>. PHPfr is free software, but <span class="link" onclick="PHPFR.util.gotoPayPal();">donations</span> are welcome.</p>
		<p>PHPfr is open source. You are encouraged to file bug reports and feature requests at the <span class="link" onclick="PHPFR.ui.followLink('http://code.google.com/p/phpfr/');">project home</span> on Google Code. Additionally, you can download the source code and tweak, fix, or just change how PHPfr works. Accepted patches earn you commit rights on the project, so hack away!</p>
		<p>PHPfr is localized in several languages, but more are always welcome. Contact <span class="link" onclick="PHPFR.ui.followLink('http://andrew.hedges.name/');">Andrew Hedges</span> to find out about translating the interface into your native language.</p>
		<h3>PHP Documentation Copyright Notice</h3>
		<p>Copyright &copy; 1997 - 2007 by the PHP Documentation Group. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later. A copy of the <span class="link" onclick="PHPFR.ui.followLink('http://www.php.net/manual/opl.license.php');">Open Publication License</span> is distributed with this manual, the latest version is presently available at <span class="link" onclick="PHPFR.ui.followLink('http://www.opencontent.org/openpub/');">http://www.opencontent.org/openpub/</span>.</p>
	</div>
	<!-- END: LICENSE -->
</div>

</body>
</html>